package com.dilidili.service;

import com.domain.Fans;
import com.domain.User;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.Map;

/**
 * @PackgeName: com.dilidili.service
 * @ClassName: IUserService
 * @Author: 零
 * Date: 2022/4/3 20:41
 * project name: spring-cloud-mybilibli
 * @Version:
 * @Description:
 */
public interface IUserService {
    /**
     * 根据手机号获取用户数据
     * @param userTel 手机号
     * @return
     */
    List<Map<String,Object>> query(String userTel);

    /**
     * 根据手机号获取用户数据
     * @param userTel 手机号
     * @return
     */
    User userPhone(String userTel);

    /**
     * 根据手机号修改的数据结果
     * @param userTel 手机号
     * @param userPassword 密码
     * @return
     */
    Integer amendPswd(String userTel,String userPassword);

    /**
     * 查询用户关注的人数
     * @param userId 用户id
     * @return 返回数据
     */
    Integer  fansByUserId(Integer userId);

    /**
     * 用户粉丝数量
     * @param userId 用户对象
     * @return 粉丝数
     */
    Integer beanByUserId(Integer userId);

    /**
     * 用户注册业务接口
     * @param user 数据对象
     * @return 返回响应结果
     */
    Integer saveUser(User user) ;

    /**
     * 修改用户数据
     * @param user 用户对象
     * @return 返回结果
     */
    Integer modification(User user);

    /**
     * 查询用户昵称接口
     * @param userNickname 用户昵称
     * @return 返回结果
     */
    List<Map<String,Object>> userGetUserNickname(Integer userId,String userNickname);

    /**
     * 用户所关注的用户数据
     * @param userId 用户参数
     * @return 返回数据
     */
    PageInfo<Map> queryFansParticulars(Integer userId,String userNickname,Integer pageNum,Integer pageSize);


    /**
     * 查询关注我的人
     * @param userId
     * @param userNickname
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<User> queryFansBeanParticulars(Integer userId, String userNickname, Integer pageNum, Integer pageSize);


    /**
     * 用户个人信息
     * @param userId 用户id
     * @return 返回用户信息
     */
    User findAll(Integer userId);
}
